﻿using PorterStemmerAlgorithm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Lab1.DataObjects
{
    public class Term
    {
        public Term(string keyword)
        {
            _keyword = keyword;
            foreach (string s in _keyword.Split(' '))
            {
                _keywordStemmed += Stemmer.stemTerm(Regex.Replace(s.Replace("\n", String.Empty).ToLower(), @"[^\w\s]", ""));
            }
            //_keywordStemmed = Stemmer.stemTerm(Regex.Replace(_keyword.Replace("\n", String.Empty).ToLower(), @"[^\w\s]", ""));
        }
        private string _keyword { get; set; }

        public string Keyword
        {
            get
            {
                return _keyword;
            }
        }

        private string _keywordStemmed { get; set; }

        public string KeywordStemmed
        {
            get
            {
                return _keywordStemmed;
            }
        }

        private IStemmerInterface _stemmer { get; set; }
        private IStemmerInterface Stemmer
        {
            get
            {
                if (_stemmer == null)
                    _stemmer = new PorterStemmer();
                return _stemmer;
            }
        }
    }
}
